﻿#define  _CRT_SECURE_NO_WARNINGS  1
#include <stdio.h>
//函数递归
//题⽬：计算n的阶乘（不考虑溢出），n的阶乘就是1~n的数字累积相乘。
//int Fact(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * Fact(n - 1);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int r = Fact(n);
//	printf("%d\n", r);
//}

//输入一个整数m，按照顺序打印整数的每一位。
//比如：
//输入：1234    输出：1 2 3 4
//输入：520      输出：5 2 0
//void print(int n)
//{
//	if (n > 9)
//		print(n / 10);
//	printf("%d ", n % 10);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	print(n);
//	return 0;
//}

//求第n个斐波那契数
//1 1 2 3 5 8 13 21 34 55
//函数递归公式虽简单但是具有明显缺陷，重复次数太多，应该使用迭代进行处理
//int count = 0;
//int Fib(int n)
//{
//	if (n == 3)
//		count++;
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int c=Fib(n);
//	printf("%d\n", c);
//	printf("count=%d", count);
//	return 0;
//}


//使用迭代的方式处理斐波那契数列
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 0;
//	if (n <= 2)
//		return 1;
// 
//	while (n>2)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//	}
//	return c;
//}
//int main()
//{	
//	int n = 0;
//	scanf("%d", &n);
//	int c = Fib(n);
//	printf("%d\n", c);
//	return 0;
//}

//整数15用不同进制的表示形式
//int main()
//{
//	printf("%d\n", 15);
//	printf("%d\n", 0xf);
//	printf("%d\n", 017);
//	return 0;
//}